Labels:text | screenshot | font | rectangle OCR: {w_ancestor} [w_ancestor_delta) {w ancestor frame} [w ancestor_response} {w ancestor sheet} {w_ancestor_frame_delta) (w_ancestor_response_delta} {w ancestor_sheet_delta] w ancestor find} [w ancestor sheet tabs} [w_ancestor_find_delta} {w_ancestor sheet_tab_delta w_frame w find_ client w_client Figure 3. This figure shows the same object model as in Figure 2 with delta classes added to allow changes to class library behavior without modifying the class library. This architecture is useful if you purchased your class libraries and would like to upgrade to a later version while also making changes to class library behavior. This architecture is by nature inefficient and consumes large amounts of memory, but it does provide maximum flexibility. It may be overkill for many applications.